package com.centersoft.flowable.core.gateway;

import com.centersoft.flowable.core.model.FlowAssigneeModel;
import com.centersoft.flowable.core.model.MyFlowableUser;
import com.centersoft.flowable.core.model.QueryUserByDepIdRequest;
import com.centersoft.flowable.core.model.QueryUserByRoleIdRequest;

import java.util.List;
import java.util.Set;

/**
 * 获取用户信息
 * @author wangzhiqiang
 * @since 2025/3/12 16:18
 */
public interface UserInterface {
    /**
     * 获取当前用户id
     * @return 获取当前用用户id
     */
    MyFlowableUser getCurrentUser();


    /**
     *  通过部门id 获取用户列表
     * @param request 查询参数
     * @return 用户列表
     */
    List<String> queryUserListByRoleId(QueryUserByRoleIdRequest request);

    /**
     *  通过部门id 获取用户列表
     * @param request 查询参数
     * @return 用户列表
     */
    List<String> queryUserListByDeptId(QueryUserByDepIdRequest request);

    /**
     * 获取代办用户id
     * @param assigneeTypeVos 代办用户参数
     * @return 用户id
     */
    Set<String> getUserByAssigneeTypeVo(List<FlowAssigneeModel> assigneeTypeVos);



}
